[INFO] cloning repository https://github.com/songever/sicp-chapter5-in-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/songever/sicp-chapter5-in-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsongever%2Fsicp-chapter5-in-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsongever%2Fsicp-chapter5-in-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cf7cde8cd8db56d8fbcb8110bef1b871c7e8db72
[INFO] checking songever/sicp-chapter5-in-rust against try#b66808126f24f2f30898306a881e1676824ea80c for pr-133502-23
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsongever%2Fsicp-chapter5-in-rust" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/songever/sicp-chapter5-in-rust
[INFO] finished tweaking git repo https://github.com/songever/sicp-chapter5-in-rust
[INFO] tweaked toml for git repo https://github.com/songever/sicp-chapter5-in-rust written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/songever/sicp-chapter5-in-rust on toolchain b66808126f24f2f30898306a881e1676824ea80c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b66808126f24f2f30898306a881e1676824ea80c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/songever/sicp-chapter5-in-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b66808126f24f2f30898306a881e1676824ea80c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6ceb6450a90b073f80837ff9e35c912191b4e0c2a4fd9ca5e1bcc6ad5cf670cc
[INFO] running `Command { std: "docker" "start" "6ceb6450a90b073f80837ff9e35c912191b4e0c2a4fd9ca5e1bcc6ad5cf670cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6ceb6450a90b073f80837ff9e35c912191b4e0c2a4fd9ca5e1bcc6ad5cf670cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6ceb6450a90b073f80837ff9e35c912191b4e0c2a4fd9ca5e1bcc6ad5cf670cc" "/opt/rustwide/cargo-home/bin/cargo" "+b66808126f24f2f30898306a881e1676824ea80c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6ceb6450a90b073f80837ff9e35c912191b4e0c2a4fd9ca5e1bcc6ad5cf670cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6ceb6450a90b073f80837ff9e35c912191b4e0c2a4fd9ca5e1bcc6ad5cf670cc" "/opt/rustwide/cargo-home/bin/cargo" "+b66808126f24f2f30898306a881e1676824ea80c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking sicp-5-2 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/machine/parser.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |     if let Some(mut input) = input.starts_with('(')
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/machine/parser.rs:201:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |     if let Some(mut input) = input.starts_with('(')
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/machine/parser.rs:302:21
[INFO] [stdout]     |
[INFO] [stdout] 302 |                 Err(e) => 
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/machine/parser.rs:304:21
[INFO] [stdout]     |
[INFO] [stdout] 304 |                 Ok((input, tag)) if tag != "label" => 
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag`
[INFO] [stdout]    --> src/machine/parser.rs:306:28
[INFO] [stdout]     |
[INFO] [stdout] 306 |                 Ok((input, tag)) => {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/machine/parser.rs:302:21
[INFO] [stdout]     |
[INFO] [stdout] 302 |                 Err(e) => 
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/machine/parser.rs:304:21
[INFO] [stdout]     |
[INFO] [stdout] 304 |                 Ok((input, tag)) if tag != "label" => 
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag`
[INFO] [stdout]    --> src/machine/parser.rs:306:28
[INFO] [stdout]     |
[INFO] [stdout] 306 |                 Ok((input, tag)) => {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Machine` is more private than the item `procedure::Executor::execute`
[INFO] [stdout]   --> src/machine/procedure.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  7 |     fn execute(&self, machine: &mut Machine, oprands: Self::Oprands) -> Vec<u32>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `procedure::Executor::execute` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Machine` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/machine.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct Machine {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Machine` is more private than the item `procedure::Executor::execute`
[INFO] [stdout]   --> src/machine/procedure.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  7 |     fn execute(&self, machine: &mut Machine, oprands: Self::Oprands) -> Vec<u32>;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `procedure::Executor::execute` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Machine` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/machine.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct Machine {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `make_register`, `get_content`, and `set_content` are never used
[INFO] [stdout]   --> src/machine.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Register {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 19 |     fn make_register() -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn get_content(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn set_content(&self, value: u32) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `execute` is never used
[INFO] [stdout]   --> src/machine.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | trait Executor: CloneExecutor {
[INFO] [stdout]    |       -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn execute(&self, machine: &mut Machine, oprands: Self::Oprands) -> Vec<u32>;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ValueProcedure` is never used
[INFO] [stdout]   --> src/machine.rs:60:6
[INFO] [stdout]    |
[INFO] [stdout] 60 | type ValueProcedure = Box<dyn Fn(&mut Machine) -> Vec<u32>>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Bool` is never used
[INFO] [stdout]   --> src/machine.rs:61:6
[INFO] [stdout]    |
[INFO] [stdout] 61 | type Bool = u32;
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `combine_procedures` is never used
[INFO] [stdout]   --> src/machine.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn combine_procedures(procedures: Vec<ValueProcedure>) -> Result<ValueProcedure, String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `register_table`, `the_operations`, `stack`, and `the_instruction_sequence` are never read
[INFO] [stdout]   --> src/machine.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct Machine {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 75 |     register_table: HashMap<String, Register>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 76 |     the_operations: HashMap<String, Operation>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 77 |     stack: Stack,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 78 |     the_instruction_sequence: Vec<Procedure>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `make_machine`, `assemble`, `extract_labels`, `make_exec_proc`, `make_val_expr_exec`, and `make_operation_exec` are never used
[INFO] [stdout]    --> src/machine.rs:81:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Machine {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  81 |     pub fn make_machine(register_names: &[&str], ops: Vec<(String, Operation)>, controller_text: &str) -> Result<Self, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn assemble(&mut self, controller_text: ControllerText) -> Result<Vec<Procedure>, String> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     fn extract_labels(&mut self, text: ControllerText, insts: &mut Vec<Instruction>, labels: &mut HashMap<String, usize>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     fn make_exec_proc(&mut self, instruction: Instruction, labels: &HashMap<String, usize>) -> Result<Procedure, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     fn make_val_expr_exec(&mut self, expr: &ValueExpr, labels: &HashMap<String, usize>) -> Result<ValueProcedure, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     fn make_operation_exec(&mut self, op: &OpreationExpr, labels: &HashMap<String, usize>) -> Result<ValueProcedure, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/machine.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 233 | impl Machine {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 234 |     fn install_instruction_sequence(&mut self, seq: Vec<Procedure>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     fn allocate_register(&mut self, name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     fn install_operations(&mut self, ops: Vec<(String, Operation)>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn get_register(&mut self, name: &str) -> Result<&Register, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn get_operation(&self, name: &str) -> Result<Operation, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn stack(&mut self) -> &mut Stack {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn operations(&mut self) -> &mut HashMap<String, Operation> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn start(&self) {}
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `advance_pc`, `set_pc`, and `set_flag` are never used
[INFO] [stdout]    --> src/machine.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | impl Machine {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 262 |     fn advance_pc(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     fn set_pc(&mut self, new_pc: u32) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     fn set_flag(&mut self, new_flag: Bool) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/machine.rs:279:14
[INFO] [stdout]     |
[INFO] [stdout] 279 | struct Stack(Rc<RefCell<Vec<u32>>>);
[INFO] [stdout]     |        ----- ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `Stack` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push`, `pop`, and `initialize` are never used
[INFO] [stdout]    --> src/machine.rs:289:8
[INFO] [stdout]     |
[INFO] [stdout] 285 | impl Stack {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 289 |     fn push(&self, value: u32) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn pop(&self) -> Option<u32> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     fn initialize(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ControllerText` is never used
[INFO] [stdout]  --> src/machine/parser.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub type ControllerText = Vec<Expr>;
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expr` is never used
[INFO] [stdout]  --> src/machine/parser.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Expr {
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]   --> src/machine/parser.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Instruction {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValueExpr` is never used
[INFO] [stdout]   --> src/machine/parser.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum ValueExpr {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `make_register`, `get_content`, and `set_content` are never used
[INFO] [stdout]   --> src/machine.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Register {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 19 |     fn make_register() -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn get_content(&self) -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn set_content(&self, value: u32) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpreationExpr` is never constructed
[INFO] [stdout]   --> src/machine/parser.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct OpreationExpr {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `execute` is never used
[INFO] [stdout]   --> src/machine.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | trait Executor: CloneExecutor {
[INFO] [stdout]    |       -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn execute(&self, machine: &mut Machine, oprands: Self::Oprands) -> Vec<u32>;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name`, `oprands`, and `arity` are never used
[INFO] [stdout]   --> src/machine/parser.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl OpreationExpr {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 37 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn oprands(&self) -> &[ValueExpr] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn arity(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ValueProcedure` is never used
[INFO] [stdout]   --> src/machine.rs:60:6
[INFO] [stdout]    |
[INFO] [stdout] 60 | type ValueProcedure = Box<dyn Fn(&mut Machine) -> Vec<u32>>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PrimitiveExpr` is never used
[INFO] [stdout]   --> src/machine/parser.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum PrimitiveExpr {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Bool` is never used
[INFO] [stdout]   --> src/machine.rs:61:6
[INFO] [stdout]    |
[INFO] [stdout] 61 | type Bool = u32;
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Label` is never constructed
[INFO] [stdout]   --> src/machine/parser.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Label(String);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `combine_procedures` is never used
[INFO] [stdout]   --> src/machine.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn combine_procedures(procedures: Vec<ValueProcedure>) -> Result<ValueProcedure, String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_name` is never used
[INFO] [stdout]   --> src/machine/parser.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl Label {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 56 |     pub fn get_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `register_table`, `the_operations`, `stack`, and `the_instruction_sequence` are never read
[INFO] [stdout]   --> src/machine.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct Machine {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 75 |     register_table: HashMap<String, Register>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 76 |     the_operations: HashMap<String, Operation>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 77 |     stack: Stack,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 78 |     the_instruction_sequence: Vec<Procedure>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]   --> src/machine/parser.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn parse(controller_text: &str) -> Result<(&str, ControllerText), String> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_expr` is never used
[INFO] [stdout]   --> src/machine/parser.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn parse_expr(input: &str) -> Result<(&str, Expr), String> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_label` is never used
[INFO] [stdout]   --> src/machine/parser.rs:82:4
[INFO] [stdout]    |
[INFO] [stdout] 82 | fn parse_label(input: &str) -> Result<(&str, Label), String> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `make_machine`, `assemble`, `extract_labels`, `make_exec_proc`, `make_val_expr_exec`, and `make_operation_exec` are never used
[INFO] [stdout]    --> src/machine.rs:81:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl Machine {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  81 |     pub fn make_machine(register_names: &[&str], ops: Vec<(String, Operation)>, controller_text: &str) -> Result<Self, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     fn assemble(&mut self, controller_text: ControllerText) -> Result<Vec<Procedure>, String> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     fn extract_labels(&mut self, text: ControllerText, insts: &mut Vec<Instruction>, labels: &mut HashMap<String, usize>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     fn make_exec_proc(&mut self, instruction: Instruction, labels: &HashMap<String, usize>) -> Result<Procedure, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     fn make_val_expr_exec(&mut self, expr: &ValueExpr, labels: &HashMap<String, usize>) -> Result<ValueProcedure, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     fn make_operation_exec(&mut self, op: &OpreationExpr, labels: &HashMap<String, usize>) -> Result<ValueProcedure, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_instruction` is never used
[INFO] [stdout]   --> src/machine/parser.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn parse_instruction(input: &str) -> Result<(&str, Instruction), String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ident_parser` is never used
[INFO] [stdout]    --> src/machine/parser.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn ident_parser(input: &str) -> Result<(&str, String), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `number_parser` is never used
[INFO] [stdout]    --> src/machine/parser.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn number_parser(input: &str) -> Result<(&str, u32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_reg` is never used
[INFO] [stdout]    --> src/machine/parser.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn parse_reg(input: &str) -> Result<(&str, String), String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/machine.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 233 | impl Machine {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 234 |     fn install_instruction_sequence(&mut self, seq: Vec<Procedure>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     fn allocate_register(&mut self, name: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     fn install_operations(&mut self, ops: Vec<(String, Operation)>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn get_register(&mut self, name: &str) -> Result<&Register, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn get_operation(&self, name: &str) -> Result<Operation, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn stack(&mut self) -> &mut Stack {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn operations(&mut self) -> &mut HashMap<String, Operation> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn start(&self) {}
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_const` is never used
[INFO] [stdout]    --> src/machine/parser.rs:151:4
[INFO] [stdout]     |
[INFO] [stdout] 151 | fn parse_const(input: &str) -> Result<(&str, u32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_label_expr` is never used
[INFO] [stdout]    --> src/machine/parser.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn parse_label_expr(input: &str) -> Result<(&str, Label), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `advance_pc`, `set_pc`, and `set_flag` are never used
[INFO] [stdout]    --> src/machine.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | impl Machine {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 262 |     fn advance_pc(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     fn set_pc(&mut self, new_pc: u32) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     fn set_flag(&mut self, new_flag: Bool) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_primitive_expr` is never used
[INFO] [stdout]    --> src/machine/parser.rs:175:4
[INFO] [stdout]     |
[INFO] [stdout] 175 | fn parse_primitive_expr(input: &str) -> Result<(&str, PrimitiveExpr), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/machine.rs:279:14
[INFO] [stdout]     |
[INFO] [stdout] 279 | struct Stack(Rc<RefCell<Vec<u32>>>);
[INFO] [stdout]     |        ----- ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |        |
[INFO] [stdout]     |        field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `Stack` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_operation` is never used
[INFO] [stdout]    --> src/machine/parser.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn parse_operation(input: &str) -> Result<(&str, OpreationExpr), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_value_expr` is never used
[INFO] [stdout]    --> src/machine/parser.rs:232:4
[INFO] [stdout]     |
[INFO] [stdout] 232 | fn parse_value_expr(input: &str) -> Result<(&str, ValueExpr), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push`, `pop`, and `initialize` are never used
[INFO] [stdout]    --> src/machine.rs:289:8
[INFO] [stdout]     |
[INFO] [stdout] 285 | impl Stack {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 289 |     fn push(&self, value: u32) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn pop(&self) -> Option<u32> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     fn initialize(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_assign` is never used
[INFO] [stdout]    --> src/machine/parser.rs:266:4
[INFO] [stdout]     |
[INFO] [stdout] 266 | fn parse_assign(input: &str) -> Result<(&str, Instruction), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/machine/parser.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Instruction(Instruction),
[INFO] [stdout]   |     ----------- ^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Expr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 5 -     Instruction(Instruction),
[INFO] [stdout] 5 +     Instruction(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_test` is never used
[INFO] [stdout]    --> src/machine/parser.rs:285:4
[INFO] [stdout]     |
[INFO] [stdout] 285 | fn parse_test(input: &str) -> Result<(&str, Instruction), String> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_branch` is never used
[INFO] [stdout]    --> src/machine/parser.rs:296:4
[INFO] [stdout]     |
[INFO] [stdout] 296 | fn parse_branch(input: &str) -> Result<(&str, Instruction), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/machine/parser.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Label(Label),
[INFO] [stdout]   |     ----- ^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Expr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 6 -     Label(Label),
[INFO] [stdout] 6 +     Label(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Procedure` is never used
[INFO] [stdout]   --> src/machine/procedure.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type Procedure = Box<dyn Fn(&mut Machine)>;
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `target_reg` and `val_expr` are never read
[INFO] [stdout]   --> src/machine/parser.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Assign {target_reg: String, val_expr: ValueExpr},
[INFO] [stdout]    |     ------  ^^^^^^^^^^          ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Instruction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ValueProcedure` is never used
[INFO] [stdout]   --> src/machine/procedure.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub type ValueProcedure = Box<dyn Fn(&mut Machine) -> Vec<u32>>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `combine_procedures` is never used
[INFO] [stdout]   --> src/machine/procedure.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn combine_procedures(procedures: Vec<ValueProcedure>) -> Result<ValueProcedure, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/machine/parser.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Test(OpreationExpr),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Instruction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 12 -     Test(OpreationExpr),
[INFO] [stdout] 12 +     Test(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/machine/parser.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Branch(Label),
[INFO] [stdout]    |     ------ ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Instruction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 13 -     Branch(Label),
[INFO] [stdout] 13 +     Branch(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/machine/parser.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 |     OpreationExpr(OpreationExpr),
[INFO] [stdout]    |     ------------- ^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ValueExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 27 -     OpreationExpr(OpreationExpr),
[INFO] [stdout] 27 +     OpreationExpr(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/machine/parser.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 28 |     PrimitiveExpr(PrimitiveExpr),
[INFO] [stdout]    |     ------------- ^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ValueExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 28 -     PrimitiveExpr(PrimitiveExpr),
[INFO] [stdout] 28 +     PrimitiveExpr(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `oprands`, and `arity` are never read
[INFO] [stdout]   --> src/machine/parser.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct OpreationExpr {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 32 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 33 |     oprands: Vec<ValueExpr>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 34 |     arity: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OpreationExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name`, `oprands`, and `arity` are never used
[INFO] [stdout]   --> src/machine/parser.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl OpreationExpr {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 37 |     pub fn name(&self) -> &str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn oprands(&self) -> &[ValueExpr] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn arity(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/machine/parser.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 |     Constant(u32),
[INFO] [stdout]    |     -------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PrimitiveExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 49 -     Constant(u32),
[INFO] [stdout] 49 +     Constant(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/machine/parser.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 |     Label(Label),
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PrimitiveExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 50 -     Label(Label),
[INFO] [stdout] 50 +     Label(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/machine/parser.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Register(String),
[INFO] [stdout]    |     -------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PrimitiveExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 51 -     Register(String),
[INFO] [stdout] 51 +     Register(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_name` is never used
[INFO] [stdout]   --> src/machine/parser.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl Label {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 56 |     pub fn get_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Procedure` is never used
[INFO] [stdout]   --> src/machine/procedure.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type Procedure = Box<dyn Fn(&mut Machine)>;
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ValueProcedure` is never used
[INFO] [stdout]   --> src/machine/procedure.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub type ValueProcedure = Box<dyn Fn(&mut Machine) -> Vec<u32>>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `combine_procedures` is never used
[INFO] [stdout]   --> src/machine/procedure.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn combine_procedures(procedures: Vec<ValueProcedure>) -> Result<ValueProcedure, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] running `Command { std: "docker" "inspect" "6ceb6450a90b073f80837ff9e35c912191b4e0c2a4fd9ca5e1bcc6ad5cf670cc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6ceb6450a90b073f80837ff9e35c912191b4e0c2a4fd9ca5e1bcc6ad5cf670cc", kill_on_drop: false }`
[INFO] [stdout] 6ceb6450a90b073f80837ff9e35c912191b4e0c2a4fd9ca5e1bcc6ad5cf670cc
